package com.example.datamanage.pojo.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * @author 28142
 * @description 数据源DTO
 * @date 2023/7/24 13:38
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DataSourceDTO {
    /**
     * 系统名称
     */
    @NotBlank(message = "系统名称不能为空")
    private String name;
    /**
     * 数据库类型 目前支持取值mysql/oracle/sqlserver/postgresql
     */
    @NotBlank(message = "请选择数据库类型")
    private String dataType;
    /**
     * 数据库名称
     */
    @NotBlank(message = "数据库名称不能为空")
    private String dataName;
    /**
     * IP地址
     */
    @NotBlank(message = "ip不能为空")
    @Pattern(regexp = "([1-9]?\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.([1-9]?\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}$", message = "ip不合法")
    private String url;
    /**
     * 端口号
     */
    @NotBlank(message = "端口号不能为空")
    private String port;
    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    private String username;
    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    private String password;
}
